package com.kaifamiao.object;

import java.io.*;

/**
 * 反序列化: 将 字节序列 转换成 JVM 中的 Java对象 的过程就是反序列化
 */
public class DeserializeTest {

    public static void main(String[] args) throws IOException, ClassNotFoundException{

        InputStream in = new FileInputStream("panda.ser");
        ObjectInputStream ois = new ObjectInputStream(in);

        // 从字节输入流中读取所有字节数据，并将 字节序列 重构成相应类型的 Java对象
        Object x = ois.readObject();
        if( x instanceof Panda p ) {
            System.out.printf("%d, %s, %s, %d\n", p.getId(), p.getName(), p.getGender(), p.getAge() );
        }

        ois.close();
        in.close();

    }

}
